Advantages and Disadvantages
Advantages :
- VM supports Swapping.
- Common data or code may be shared to save memory.
- Process need not be in memory as a whole.
- No need for complicated overlay techniques.
- Process may even be larger than all of physical memory.
- Data / code can be read from disk as needed.
- Code can be placed anywhere in physical memory without relocation.
- More processes can be maintained in Main Memory which increases effective use of CPU.
- Programs can be compiled with their own address space.
– No need for compiler to generate addresses that are unique from addresses for other programs
– Don’t need to break program into fragments to accommodate memory limitations
Disadvantages :
- Memory requirements.
- Longer memory access times.
This can be improved using TLB